package screen;

import game.Configurations;
import game.FontLoader;
import org.newdawn.slick.TrueTypeFont;

public class ListaTexto extends Lista {

    private String[] textos;
    private TrueTypeFont fonte;

    public ListaTexto(int x, int y, String[] texto) {
        this(x, y, texto, FontLoader.MENU);
    }

    public ListaTexto(int x, int y, String[] texto, TrueTypeFont fonte) {
        super(x, y);
        this.textos = texto;
        this.fonte = fonte;
        this.selecao = 0;
    }

    public String getTexto(int pos) {
        return this.textos[pos];
    }

    @Override
    public void desenhar() {
        int dY = y;
        if (dY == Texto.CENTRALIZADO)
            dY = (Configurations.SCREEN_HEIGHT - textos.length * (fonte.getHeight() + 5)) / 2;
        for (int i = 0; i < textos.length; i++) {
            int dX = x;
            if (dX == Texto.CENTRALIZADO)
                dX = (Configurations.SCREEN_WIDTH - fonte.getWidth(textos[i])) / 2;
            fonte.drawString(dX, dY + (fonte.getHeight() + 5) * i, textos[i], (selecao == i ? Texto.SELECTED_COLOR : Texto.REGULAR_COLOR));
        }
    }

    @Override
    public int getTamanhoMaximo() {
        return textos.length;
    }
}